﻿using System;
using System.Collections.Generic;
using System.Text;
using Umi.Crypto.Abstraction.Keys;

namespace Umi.Crypto.Abstraction.HMac
{
    /// <summary>
    /// 密码服务
    /// </summary>
    public interface IPasswordService
    {
        /// <summary>
        /// 名称
        /// </summary>
        string Name { get; }

        /// <summary>
        /// 生成消息认证码
        /// </summary>
        /// <param name="passwrod">密码</param>
        /// <param name="key">密钥或其他参数</param>
        /// <param name="hash">使用的hash</param>
        /// <returns></returns>
        byte[] GenAuthCode(byte[] passwrod, KeyParameter key, string hash);
    }
}
